﻿/*************************************************
* 实现打印到文件的日志
*************************************************/

#ifndef ZERRORFILELOG_H
#define ZERRORFILELOG_H

#include <QDateTime>
#include <QFile>
#include <QDebug>
#include <QMutex>
#include "ZFCommonHeader.h"

class ZFileLoggerPrivate;

ZFLIB_BEGIN_NAMESPACE

class ZFLIB_API ZFileLogger
{
public:
    /**
     * @brief ZFileLogger
     * @param file_path
     *  日志文件路径，包含文件名
     */
    ZFileLogger(const QString &file_path);
    ~ZFileLogger();

    // 重定向符号函数
    ZFileLogger &operator<<(const QString &msg);
    ZFileLogger &operator<<(const QStringList &msgs);

    /**
     * @brief setNewLineSymbol
     *  设置文本换行符。'\n'或"\r\n"或'\r'，默认为'\n'
     */
    void setNewLineSymbol(const QString &);

private:
    ZFileLoggerPrivate *m_impl;
};

ZFLIB_END_NAMESPACE

#endif // ZERRORFILELOG_H
